package com.hyt.it.ogt.kq.service.bm.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 订单业务流水
 * @author hw
 * @Description:
 */
@Data
@Accessors(chain = true)
@TableName("bm_order_business_flow")
@ApiModel(value = "OrderBusinessFlow对象", description = "订单业务流水")
public class OrderBusinessFlow implements Serializable {

	private static final long serialVersionUID = 1L;
	
	@TableId(type = IdType.INPUT)
    @ApiModelProperty(value = "主键id")
    private Long id;
    
	@ApiModelProperty(value = "订单id")
	private String bmOrderId;
	
	@ApiModelProperty(value = "详情id")
	private String bmOrderDetailId;

	@ApiModelProperty(value = "业务类型")
	private String businessType;

	@ApiModelProperty(value = "状态：10，缴费成功，20：退款中，21：退款成功，22：退款失败")
	private String businessStatus;

	@ApiModelProperty(value = "订单金额")
	private Double orderPrice;

	@ApiModelProperty(value = "订单供应商")
	private String orderPaySupplier;

	@ApiModelProperty(value = "订单类型")
	private String orderType;
	
	@ApiModelProperty(value = "考试任务id")
	private String bmProjectId;

	@ApiModelProperty(value = "用户ID")
	private String regId;
	
	@ApiModelProperty(value = "报名考生科目id")
	private String bmStudentSubjectId;
	
	@ApiModelProperty(value = "考生id")
	private String studentId;
	
	@ApiModelProperty(value = "订单第三方流水号")
	private String serialNumber;
	
	@ApiModelProperty(value = "创建人", hidden = true)
    private String createBy;
    
    @ApiModelProperty(value = "创建时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss" , timezone="GMT+8")
    private LocalDateTime createDate;
    
    @ApiModelProperty(value = "更新人", hidden = true)
    private String updateBy;

    @ApiModelProperty(value = "更新时间", hidden = true)
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss" , timezone="GMT+8")
    private LocalDateTime updateDate;
    
    @TableField("is_del_flag")
    @ApiModelProperty(value = "逻辑删除标记", hidden = true)
    private Boolean delFlag;


}
